﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.ToolPositioningInternal.CApTPILabelData
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using EngineeringInternalExtension;
using System.Collections.Generic;
using System.ComponentModel;
using Tecnomatix.Engineering;


namespace DnProcessSimulateCommands.ToolPositioningInternal;

public class CApTPILabelData : INotifyPropertyChanged
{
  private string _label;
  private string _assemblyComponentType;
  private int _numberOfContours;
  private double _contourDepth;
  private bool _isTool;
  private List<TxContour> _contours;
  private ITxObject _object;

  public ITxObject Object
  {
    get => this._object;
    set
    {
      this._object = value;
      this.Contours = (List<TxContour>) null;
    }
  }

  public string Label
  {
    get => this._label;
    set
    {
      this._label = value;
      this.NotifyPropertyChanged(nameof (Label));
    }
  }

  public int NumberOfContours
  {
    get => this._numberOfContours;
    set
    {
      this._numberOfContours = value;
      this.Contours = (List<TxContour>) null;
      this.NotifyPropertyChanged(nameof (NumberOfContours));
    }
  }

  public double ContourDepth
  {
    get => this._contourDepth;
    set
    {
      this._contourDepth = value;
      this.Contours = (List<TxContour>) null;
      this.NotifyPropertyChanged(nameof (ContourDepth));
    }
  }

  public string AssemblyComponentType
  {
    get => this._assemblyComponentType;
    set
    {
      this._assemblyComponentType = value;
      this.NotifyPropertyChanged(nameof (AssemblyComponentType));
      this.Contours = (List<TxContour>) null;
    }
  }

  public bool IsTool
  {
    get => this._isTool;
    set
    {
      this._isTool = value;
      this.NotifyPropertyChanged(nameof (IsTool));
      this.Contours = (List<TxContour>) null;
    }
  }

  public List<TxContour> Contours
  {
    get => this._contours;
    set => this._contours = value;
  }

  public event PropertyChangedEventHandler PropertyChanged;

  private void NotifyPropertyChanged(string propertyName)
  {
    PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    if (propertyChanged == null)
      return;
    propertyChanged((object) this, new PropertyChangedEventArgs(propertyName));
  }
}
